package com.ruoyi.project.module.ordersDetail.mapper;

import com.ruoyi.project.module.fbsHead.domain.FbsHead;
import com.ruoyi.project.module.ordersDetail.domain.OrdersDetail;
import org.apache.ibatis.annotations.Param;
import org.aspectj.weaver.ast.Or;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * 订单详情 数据层
 * 
 * @author lcx
 * @date 2018-08-23
 */
@Component
public interface OrdersDetailMapper 
{
	/**
     * 查询订单详情信息
     * 
     * @param id 订单详情ID
     * @return 订单详情信息
     */
	public OrdersDetail selectOrdersDetailById(String id);
	
	/**
     * 查询订单详情列表
     * 
     * @param ordersDetail 订单详情信息
     * @return 订单详情集合
     */
	public List<OrdersDetail> selectOrdersDetailList(OrdersDetail ordersDetail);
	
	/**
     * 新增订单详情
     * 
     * @param ordersDetail 订单详情信息
     * @return 结果
     */
	public int insertOrdersDetail(OrdersDetail ordersDetail);

	public int insertOrdersDetailByList(List<Map<String, Object>> list);
	
	/**
     * 修改订单详情
     * 
     * @param ordersDetail 订单详情信息
     * @return 结果
     */
	public int updateOrdersDetail(OrdersDetail ordersDetail);
	
	/**
     * 删除订单详情
     * 
     * @param id 订单详情ID
     * @return 结果
     */
	public int deleteOrdersDetailById(String id);
	
	/**
     * 批量删除订单详情
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteOrdersDetailByIds(String[] ids);



	/**
	 * 批量更新订单
	 *
	 * @param
	 * @return 结果
	 */
	public int updateBatchByPrint(List<OrdersDetail> ordersDetails);


	/*根据orderId批量更新订单详情*/
	public int updateOrdersDetailBatch(List<OrdersDetail> ordersDetails);


	/*根据id批量更新订单详情*/
	public int updateOrdersDetailBatchById(List<OrdersDetail> ordersDetails);


	/**
	 * 查询所有正常订单
	 *
	 * @param
	 * @return 结果
	 */
	public List<OrdersDetail> selectNormalOrder(OrdersDetail ordersDetail);


	/*
	* 根据sku修改订单
	* */
	public int updateOrdersDetailBySku();
	/*搜索 其他的*/
    List<OrdersDetail> selectOrdersDetailListAsSearchRow(@Param("products") OrdersDetail ordersDetail, @Param("searchRow") String[] searchRow);

	/*搜索合计*/
	List<OrdersDetail> selectOrdersDetailListAsSearchRowAsSum(@Param("products") OrdersDetail ordersDetail, @Param("searchRow") String[] searchRow);

	/*搜索合计*/
	List<OrdersDetail> selectOrdersDetailListAsSum(OrdersDetail ordersDetail);

	/*搜索 查询所有正常订单*/
	List<OrdersDetail> selectNormalOrderAsSearchRow(@Param("products") OrdersDetail ordersDetail, @Param("searchRow") String[] searchRow);

	/*搜索 查询所有正常订单 合计*/
	List<OrdersDetail> selectNormalOrderAsSum(OrdersDetail ordersDetail);

	List<OrdersDetail> selectNormalOrderAsSearchRowAsSum(@Param("products") OrdersDetail ordersDetail, @Param("searchRow") String[] searchRow);

	/*根据orderId查询订单*/
	List<OrdersDetail> selectOrderByOrderId(@Param("orderId") String orderId, @Param("orderStatus") String orderStatus);

    List<OrdersDetail> selectOrderDetailsByIds(List<String> ids);
}